/** 布局class类名前缀 */
export const layoutPrefix = 'section';
/** 支持自定义html标签 */
export type ITagType = React.ComponentType | React.ElementType;
/** 水平或垂直布局 */
export type IDirection = 'horizontal' | 'vertical';
export type IBordered = 'top' | 'right' | 'bottom' | 'left';
/** 水平对齐方式 */
export type ITextAlign = 'center' | 'right' | 'left';
/** 垂直对齐方式 */
export type IAlignItem = 'start' | 'center' | 'end';

export interface IGeneratorProps {
  suffixCls?: string;
  tagName?: ITagType;
  displayName?: string;
}
export interface IBasicProps extends React.HTMLAttributes<HTMLDivElement> {
  prefixCls?: string;
  suffixCls?: string;
  hasSider?: boolean;
  tagName?: ITagType;
  direction?: IDirection;
  bordered?: IBordered | boolean;
  textAlign?: ITextAlign;

  abs?: boolean;
  gap?: React.CSSProperties['gap'];
}

export type IComponentProps = React.ForwardRefExoticComponent<
  IBasicProps & React.RefAttributes<HTMLElement>
>;
